package w83b.w83bOperacionesPaso.w83bIncidencias;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


import w83b.w83bBeans.W83bNuevaIncidenciasBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaAgrupacionesOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaDelegadosIncidenciasOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
			contexto.set("action",request.getParameter("action"));
			W83bNuevaIncidenciasBean incidenciasBean = (W83bNuevaIncidenciasBean)contexto.get("w83bNuevaIncidenciasBean");
			if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))||
					"".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){					
						incidenciasBean = new W83bNuevaIncidenciasBean();
						incidenciasBean.setActaTerritorio(request.getParameter("w83bNuevaIncidenciasBean.actaTerritorio"));
						incidenciasBean.setActaAnyo(request.getParameter("w83bNuevaIncidenciasBean.actaAnyo"));
						incidenciasBean.setActaNumero(request.getParameter("w83bNuevaIncidenciasBean.actaNumero"));

						incidenciasBean = (W83bNuevaIncidenciasBean)W83bUtilidadesComunes.inicializarPaginador(request, incidenciasBean);
						
						contexto.set("w83bNuevaIncidenciasBean",incidenciasBean);
						contexto.set("busqRealizadaDelegados","true");
		}else if("find".equals(request.getParameter("action"))){
			incidenciasBean = (W83bNuevaIncidenciasBean)W83bUtilidadesComunes.inicializarPaginador(request, incidenciasBean);			
			contexto.set("w83bNuevaIncidenciasBean",incidenciasBean);
		}else if("sord".equals(request.getParameter("action"))){
			incidenciasBean = (W83bNuevaIncidenciasBean)W83bUtilidadesComunes.inicializarPaginador(request, incidenciasBean);			
			contexto.set("w83bNuevaIncidenciasBean",incidenciasBean);
		}else if(StringUtils.isEmpty(((W83bNuevaIncidenciasBean)contexto.get("w83bNuevaIncidenciasBean")).getSort())){
			incidenciasBean = (W83bNuevaIncidenciasBean)W83bUtilidadesComunes.inicializarPaginador(request, incidenciasBean);			
			contexto.set("w83bNuevaIncidenciasBean",incidenciasBean);
		}
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");

		W83bNuevaIncidenciasBean incidenciasBean = (W83bNuevaIncidenciasBean)contexto.get("w83bNuevaIncidenciasBean");
		
		if(null==(ArrayList)contexto.get("w83bListaDelegadosIncidencias")){	
			contexto.set("w83bListaDelegadosIncidencias", new ArrayList());
		}

		if(incidenciasBean.isActaNull()||incidenciasBean.isCambioPagina()){
			return mapping.findForward("outOP");
		}else 
			if ("find".equals(action)
				||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
				return mapping.findForward("find");					
		}

		
		return mapping.findForward("ok");
	}

}
